<?php
/**
 * Utilsy dla argumentów
 * @author Anna Rybka
 *
 */
class VariableUtils {
	
	/**
	 * Metoda sprawdza czy przekazany argument nie jest pusty i czy jest liczbą
	 * @param $number argument
	 * @return czy jest liczbą
	 */
	public static function isNumber($number) {
		return (! is_null ( $number )) && is_numeric ( $number );
	}
	
	/**
	 * Metoda sprawdza czy przekazany argument jest wartością logiczną
	 * @param $flag
	 * @return unknown_type
	 */
	public static function isBoolean($flag) {
		return is_bool ( $flag ) || "on" == $flag;
	}
	
	/**
	 * Metoda zwraca argument lub false gdy zawiera on nie dozwolone znaki
	 * @param $string argument
	 */
	public static function getRealEscapeString($string) {
		if ($string == null) {
			return false;
		}
		return @mysqli_real_escape_string ( Manager::getInstance ()->getActiveConnection (), $string );
	}
	
	/**
	 * Metoda zwraca wartość logiczną z liczby
	 * @return boolean
	 */
	public static function getBoolean($value) {
		if (VariableUtils::isNumber ( $value)) {
			return $value > 0 ? true : false;
		} else if(VariableUtils::isBoolean($value)){
				if("on" == $value){
					return true;
				}else{
					return $value;
				}		
		}
		return false;
	}
	/**
	 * Metoda zwraca wartość small int z wartości logicznej
	 * @param $bool wartość logiczna
	 * @return 0,1
	 */
	public static function getInt($bool){
		if(is_bool($bool)){
			return $bool ? 1 : 0;
		}else{
			return -1;
		}	
	}
	
	
}

?>